Database system and information processing system with process code information

ABSTRACT

System (software) development is performed based on a state transition diagram. The workflow of a business process is partitioned for each event therein and assigns process codes to the respective process results. A process code is an identification code to indicate a certain state of a process. For example, a process code AA is assigned to the waiting state before completion of a process A, and a process code AB is assigned to the completion state thereof wherein the process code AB is set as a condition to start a process B. The process codes that are set based on the state transition diagram are managed in an external database (DB) so that flexible modification of the state transition configuration and the state transition order is possible. This provides an entirely new method of system design that facilitates business process reengineering.

RELATED APPLICATIONS

This application is a continuation application of U.S. Ser. No.09/875,629, filed Jun. 6, 2001.

DETAILED DESCRIPTION OF THE INVENTION

The present invention relates to a database that is useful for softwaredevelopment, in particular for development of software which comprisemany complex processes.

BACKGROUND OF THE INVENTION

A business transaction may comprise very complex processes. For example,business transactions like purchasing and procurement in a large companycomprises many processes such as application, approval, keeping recordsfor audits, and official classification, which results in a very complexworkflow. To systematize such a complex workflow to construct (developor integrate) a system (software), modeling schemes such as ITT(Information Through Timing) model, OSW (Office of Secretaries of War)model, SADT (Structured Analysis & Design Technique), and other commonworkflow diagrams or data flow diagrams (DFDs) are used. However,visualization with any of these schemes is difficult and can be carriedout inadequately.

On the other hand, the processes in a company may be frequently changedfor improvement and enhancement. After constructing a system bysystematizing these business processes, if improvements or changes areto be made to the system for business process reengineering, it isnecessary to modify the system design and, sometimes, to review theearlier stages, such as requirements definition and external design.This involves significant effort, cost, and time. Further, in thissituation, it is difficult for the system developer to respond torequests for the modification from the system users, flexibly andpromptly.

Thus, when reengineering such systems, system developers must review thedeveloped systems beginning with the initial stage of the development(requirements definition or external design) depending on the scale ofthe reengineering. In addition, verification for the reengineering mayrequire time and cost equal to or greater than those in verification fornew development. Moreover, even when only a part of the system ischanged, all the associated parts have to be reviewed for any changesand influences on them. As a result, there are cases where a businesstransaction performed by system users is adapted to the system insteadof the system adapted to the business transaction of the users. This hasbeen a significant problem.

SUMMARY OF THE INVENTION

The object of the present invention is to provide a mechanism that canminimize risk in a system development as well as efforts, costs, andtime for the improvements and changes.

Another object of the present invention is to provide a method of systemdevelopment that allows responding to requests for business processreengineering of such business processes in a flexible and immediatemanner. This also provides expandability for system construction orsystem integration at the same time.

System design using the present invention is based on a state transitiondiagram. Specifically, in the present invention, the workflow of abusiness process is partitioned for each event, and process codes areassigned to the respective process results. A process code is anidentification code to indicate a certain state of a process. Forexample, a process code AA is assigned to the waiting state beforecompletion of a process A, and a process code AB is assigned to thecompletion state thereof wherein the process code AB is set as acondition to start a process B. The process codes that are set based onthe state transition diagram are managed in an external database (DB) sothat flexible modification of the state transition configuration and thestate transition order is possible. This provides an entirely new methodof system design that facilitates business process reengineering.

Since the execution order of the processes is managed in the processcode management DB, the developer who reengineers his system canaccommodate changes in the business transaction in a flexible,immediate, and efficient manner by only overwriting process codes beingcurrently executed. Users of the system themselves may also modify theprocesses, depending on the degree of modification to be made. Inaddition, the use of a state transition diagram that can be easilyvisualized, significantly improves modeling of a complex workflow.

More specifically, the present invention is achieved by providing adatabase system separated from an application (a system) that actuallyexecutes processes for performing business operations. This databasesystem comprises 1) identification information on each process, and 2)process code information that is set for each process to indicate astate of the process. The process code information contains informationindicating states that are conditions to start the respective processes,and information indicating states after completion of the respectiveprocesses. The process code information is obtained from previouslycreated state transition data of the processes. Therefore, if changesare made to the business operations, modification of the whole system isnot required since modification of the database system can change theworkflow of the processes. This provides a method of system developmentthat flexibly accommodates changes.

The present invention is also provided as an information processingsystem, which comprises the above mentioned database system, anapplication system that actually executes each process, anddetermination means (determination engine) for determining if theprocess is executable or not. The determination means determines if theprocesses are executable or not by referring to the correspondingprocess code information on the processes in the database system inresponse to a call from the application system.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will be described with reference tothe drawings, in which:

FIG. 1 is a functional block diagram showing an entire configuration ofan information processing system involving the present invention;

FIG. 2 is a diagram that conceptually explains the operation accordingto the present invention;

FIG. 3 is a diagram showing an example of basic state transitionarranged in a single sequence;

FIG. 4 is a diagram showing an example of state transition with twosequences;

FIG. 5 is a diagram in which a state transition diagram about a purchaseoperation is deployed in coordinate space;

FIG. 6 is a DFD in which the diagram of FIG. 5 is deployed;

FIG. 7 is a diagram showing a table managed in a process code managementdatabase; and

FIG. 8 is a diagram that explains how a system refers to the processcode management database.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a functional block diagram showing an entire configuration ofan information processing system involving the present invention. In theexecution of the present invention, a system developer first deployseach of a series of business processes in a state transition diagram. Inthis operation, process codes are assigned to the respective processresults, and the state transition data along with the process codes isrecorded in a state transition database section 10. The state transitiondiagram may illustrate transition of a single transition sequence (seeFIG. 3) or transition of a plurality of transition sequences associatedwith each other (see FIG. 4).

A processing section 12 creates a process code management database (DB)14 based on the state transition data recorded in the state transitiondatabase section 10 by extracting the processes and the correspondingprocess codes, conditions to allow the respective processes to beexecutable, and other items. The process code management database 14stores identification information on each process, process codeinformation that is set for each process as a condition to start theprocess (current code), and process code information that is set foreach process to represent the state after the execution of the process,preferably in the form of a table.

A business application 16 is a plurality of programs to execute businessprocesses, with each process corresponding to each business operation. Aprocessing condition determination section 18 is called by the businessapplication 16, determines if a process is executable or not withreference to the process code management database 14, and supplies thebusiness application 16 with data on a process code as the executionresult of the process. That is, exchanging the process codes via thedetermination section 18 allows the corresponding business processes tobe executed in the business application 16.

FIG. 2 is a diagram that conceptually explains the operation accordingto the present invention. Here, application, planning, estimation, andapproval are shown as a series of business processes in the statetransition diagram. Reference characters A through E denote processcodes, which are managed in the external process code managementdatabase. The process code management database functions as a databasethat manages the workflow of the business processes. Here, a processcode as the condition to start a process that is currently going to beexecuted is defined as the current code. When the current code is B,which is placed before the process “planning”, the process “planning” isexecuted by the corresponding business application, and then the currentcode in the processes is changed from B to C (B is overwritten with C).

Now, consider the case in which reengineering of the business processesis needed, and one of the processes e.g. the process “planning” is to beeliminated. Conventionally, the business application itself would haveto be modified. However, the present invention can accommodatereengineering by simply changing the process code (a piece of data inthe process code management DB, which is the DB centrally managing theprocess codes) from B to C.

Next, the state transition data recorded in the database section 10 willbe described with reference to FIG. 3 through FIG. 6. First, symbols andterms used in these figures will be mentioned for convenience of thesubsequent description.

With regard to the process codes, syx is used as a symbol representing a“state” of a process. Here, s is a symbol representing “state”, yindicates a transition sequence of the states, and x is an indicator asone of the states in the transition sequence y. Further, pyx is used asa symbol representing a “process” that changes the state or thatfunctions in other ways. Here, p is a symbol indicating process, and yand x are similar to those representing a state mentioned above, but inthis case, they represent a state to allow the process to start, orother states. It will be appreciated that different symbols may beassigned to the process codes depending on the number of the sequencesor other factors.

Terms used as types of the states (syx):

-   -   00 Normal state—a general state;    -   01 Branch point—a state in which a process that has its        transitioning destinations of different process codes branches        within a single transition sequence;    -   02 Convergence point—a state in which a branched process merges        into its sequence;    -   03 Transition point—an initial state in a transition sequence        after transition from another transition sequence;    -   04 Return point—a state in which a transition sequence        proceeding from a transition point returns to its original        transition sequence.

FIG. 3 is a diagram showing an example of basic state transitionarranged in a single sequence. In the present invention, after analyzingbusiness processes, process codes are assigned to the respective processresults so that the states of the processes can be managed. In FIG. 3,the transition sequence 0 (y=0) shows state transition from a state withno process to be executed (“zero”) to states s01, s02, s03, and s04 insequence as the processing goes on, then returns to zero after finalprocessing. The transition sequence also indicates that the states s01and s04 can perform skip processing as a branch point, with their skipdestinations being the convergence points s03 and s02, respectively.

In the present invention, a plurality of transition sequences can beused. FIG. 4 is a diagram showing an example of state transition withtwo sequences 0 and 1 (y=0 and y=1). For example, a state s10 in thesequence 1 is a transition point to which a state s01, s02, or s03 inthe sequence 0 may transition. The process result of a state s11 in thesequence 1 may return to the state s01 in the sequence 0, which is areturn point in the sequence 0.

To describe a more specific embodiment of the present invention,purchase operations will be used as an example to show an application inwhich the state transition diagram obtained as described above isarranged in coordinate space.

FIG. 5 is a diagram in which a state transition diagram about thepurchase operations is deployed in coordinate space. In this case,states of a plurality of sequences (0, 1, and 2) are associated eachother, and the state transition diagram is arranged in two dimensionswith x-axis for process steps and y-axis for the transition sequences.The x-axis shows the order of the states of each sequence, and they-axis arranges the sequences in the order in which each data isgenerated. This figure also shows the order of the states among thesequences 0, 1, and 2. For example, a state s11 in the sequence 1 isarranged in the coordinate so that it is processed after states s01 ors02 in the sequence 0 (arranged at the right of these states in terms ofx-axis). Thus, FIG. 5 reflects the exact connection between the statesof the different sequences. In addition, this figure is also providedwith scales for the respective sequences below the process step axis toshow connection between the states of the different sequences. With thisarrangement of the scales, connection between the transition sequencesis also apparent from the process step axis.

Among arrows indicating the processes, black arrows (e.g. an arrow froms01 to s11) indicate normal order processes that proceed to a sequencedstate in the positive direction, and white arrows (e.g. an arrow froms22 to s21) indicate inverse order processes that proceed (return) to asequenced state in the negative direction. In this connection, an ovalis used around all to avoid visual complications when the process arrowscross over each other.

Taking the purchase operations for example, the main operations maybe: 1) placement of a purchase order and inspection of it, 2) acceptanceof the order and conclusion of a contract, and 3) request forquotations, acquisition and examination of the quotations. In FIG. 5,the sequence 0 is assigned to the order and inspection sequence, thesequence 1 is assigned to the acceptance and contract sequence, and thesequence 2 is assigned quotation sequence, wherein the workflow of thebusiness processes is set as follows.

Order and inspection (sequence 0)

-   -   00 Prepare a purchase order slip    -   01 Collect purchase order slips    -   02 Wait for conclusion of the contract    -   03 Inspect the content of the order

-   Acceptance and contract (sequence 1)

-   Accept the purchase order

-   Select dealers based on the order

-   Request quotations from the dealers

-   Select a contractor

-   Conclude the contract

-   Quotation (sequence 2)

-   Determine quotation conditions

-   Request quotations

-   Receive the quotations

-   Investigate the quotations

Each of the business processes is provided with a process codecorresponding to the state indicating that the process has been done,i.e. the “completion state” of the process, for example, the completionstate of the preparation of a purchase order slip. For example, aftercompletion of the process to select dealers (p11), the process code s12is recognized as the current code. It is not until this state that theprocess to request quotations from the dealers (p12) is made executable.In this manner, FIG. 5 shows the purchase operations as the statetransition diagram, in which each of the numerals listed above areapplied to the sequences, states, and processes. The transitionsequences showing state transition are mutually exclusive. Accordingly,it can be considered in a sense that a sequence is a collection of dataelements having common characteristics. The state transition data thuscreated is managed in the state transition database section 10.

Since a transition sequence can be regarded as a collection of dataelements having common characteristics, a transition sequence can bealso regarded as an entity. Thus, the state transition diagram of FIG. 5can be also deployed and managed in a DFD. FIG. 6 is a DFD in which thediagram of FIG. 5 is deployed with the transition sequences beingregarded as entities. Each sequence is illustrated as a database, inwhich the states are arranged as the process codes in the order of theprocess steps. Each process box is arranged along the process step axisaccording to the states.

It should be noticed that the relation among the process boxes indicatesphysical position of the process order but not the functionalsimilarity. In other words, arrangement in the direction of x-axis showsphysical arrangement and execution order in terms of the process steps,and arrangement in the direction of y-axis shows similarity in terms ofthe state data. Detailed description about symbols in FIG. 6 is omitted,since FIG. 6 is another representation of FIG. 5.

Now, the method to transform the state transition data thus obtained(including the DFD in which the transition diagram is deployed) into adatabase that can be used in actual system development (coding) will bedescribed. From FIG. 5 or 6, the following information can be obtained.

-   -   1) a state as a condition to start each process    -   2) a state as an execution result of each process

For example, with regards to the process p01, it can be seen that thestarting condition is that the state of the sequence 0 becomes s01, andthe process result is that the data of the sequence 1 is inserted in thestate s11. To manage such conditions centrally, it is convenient to havethese conditions deployed in a decision table, for example. Data thusobtained is managed in the process code management database 14.

FIG. 7 is a diagram showing the table managed in the process codemanagement database. The vertical axes show the states of eachtransition sequence and the states after completion of the respectiveprocesses. The horizontal axes show that in which state each process isexecutable and which sequence's state the process updates as the processresult.

For example, the condition to start p12 is that the state becomes s12 ofthe sequence 1, and after p12 is executed, the state becomes s21 of thesequence 2. The state s21 is the condition to start p21, and it is notbefore the state becomes s21 that p21 becomes executable. By keepingsuch a table as a DB or a file and referring to it it is possible toincorporate a mechanism to determine whether or not a business processis executable, even if the workflow is complex. Moreover, simply bychanging the process codes of the table, it is possible to accommodatethe reengineering of the business operations in a flexible and immediatemanner without requiring any task such as recoding the entire system.

FIG. 8 is a diagram that explains how each business application of theactual developed system refers to the process code management database.The information processing system of the present invention incorporatesa determination engine 88 for a decision table (condition determinationtable) 84 configured as a database, wherein the determination engine 88is the determination section independent of a business application (86,87). The determination engine 88 is initiated by each section of thebusiness application (86, 87), and in response to the requested process,it is able to determine if the process is executable or not and toinform a next process to be executed after the proper completion of theprocess by referring to the state of the transition sequence involved.

In FIG. 8, it is assumed that the business application is a webapplication. It consists in a presentation logic 86 and a business logic87, wherein the presentation logic 86 obtains necessary information froma business database 80 to display it on an I/O section 82, and thebusiness logic 87 updates the business database 80 according to theinput from the I/O section 82.

The presentation logic section 86 first queries the determination engine88 if a process is executable or not before retrieving the data fordisplay. The determination engine 88 refers to the process conditiondetermination table 84 to determine whether the process required by theapplication is executable or not, and it returns the result to thepresentation logic 86. If the process is determined to be executable,the presentation logic 86 obtains information necessary for display fromthe business database and outputs it to the I/O section 82.

The business logic section 87 first receives data from the I/O section82, then checks it and passes information on the process to be executedto the determination engine 88. The determination engine 88 checks thestate and determines if the process is executable or not while informingthe business logic 87 on a next process state to be updated aftercompletion of the process. Then, the business logic 87 updates thebusiness data including the next process state.

By separating the determination section relating to the states(represented by the process codes) from the business application in thisway, the following advantages are provided:

-   -   1) The range of modification of the business application for        changes in the states is minimized.

The range and amount of modification of programs can be significantlyreduced compared to the case where the states-based control isincorporated into each business application.

Business Logic as an External Table

In an embodiment where the business logic and the presentation logic areseparated (as with the case of the web environment), the main part ofthe business logic can be handed over to the determination engine, andthe development task can be centralized to the presentation logic thatoperates based on the states.

With the present invention, in particular the process code managementdatabase, it is possible to minimize effort, cost, and time for systemimprovements and changes. Moreover, it is possible to accommodateimprovements and changes by simply modifying the database of the systemwithout requiring modification of the entire system already developed.This provides a method of system development that allows for respondingto requests for business process reengineering in a flexible andimmediate manner. This also provides expandability for systemconstruction at the same time.

1. (canceled)
 2. (canceled)
 3. (canceled)
 4. (canceled)
 5. An information processing system comprising a business application workflow processor for controlling: an application that executes each of a plurality of business processes ordered in a given sequence of processing events to carry out a business process workflow; and a business process application database, separate from the application, which includes business process workflow information, including a plurality of process codes for each of said business processes, where in the plurality of process codes identify and correspond to said processing events for each of said business processes; wherein said business workflow processor processes the business workflow in association with said process codes as said sequence of processing events, and wherein modifications to said business process workflow are carried out by exchanging process codes with modified process codes without modifying said application.
 6. The system as set forth in claim 5, further comprising a determination processor that interoperates with the application and business process application database to determine if each processing event comprising the business process workflow and associated with a process code is executable.
 7. The system as set forth in claim 6, wherein said given sequence of business processes and process events associated with said process codes is represented by a state transition diagram for said business processes workflow.
 8. The system as set forth in claim 7, wherein the process codes information comprises a table.
 9. The system as set forth in claim 6, wherein said determination processor, depending of a state of a business process as represented by processed process codes, replaces executable instructions representative of the business process, said replacement executable instructions then associated with said process, and with the process codes for events associated with said process. 